#include "stdafx.h"
#include "tokenize.h"
//Tokenizer
//splits a string into a vector of strings using the delimiter
//copied from:
//http://oopweb.com/CPP/Documents/CPPHOWTO/Volume/C++Programming-HOWTO-7.html
using namespace std;

void Tokenize(const string& str, vector<string>& tokens, const string& delimiters)
{
	// Skip delimiters at beginning
	string::size_type lastPos = str.find_first_not_of(delimiters, 0);
	// Find first "non-delimiter".
	string::size_type pos = str.find_first_of(delimiters, 0);

	while(string::npos != pos || string::npos != lastPos)
	{
		//Found a token, add it to the vector
		tokens.push_back(str.substr(lastPos, pos - lastPos));
		//Skip delimiters.  Note the "not_of"
		lastPos = str.find_first_not_of(delimiters, pos);
		//Find next "non-delimiter"
		pos = str.find_first_of(delimiters, lastPos);
	}
}//Tokenize